{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 注释\n",
    "- 注释写法：\n",
    "        - 行注释: 以  # 开头, 可以单独行，也可以在某行代码后面\n",
    "        - 块注释： 多行代码或者内容\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 代码注释"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'\\n多行的注释\\n'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'''\n",
    "多行的注释\n",
    "'''"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 变量\n",
    "- 程序 = 数据结构 + 算法\n",
    "- 变量 就是可重复使用的一个量，或者叫一个代号\n",
    "- 变量命名规则\n",
    "    - 变量名 可以包含数字，大小写字母，下划线或者更多，但是不推荐前三种内容之外的符号\n",
    "    - 数字不可以打头\n",
    "        - 4man, 5for 不可以\n",
    "        - man5,for5 可以\n",
    "    - 一般在python中，以下划线开头的内容具有特殊内容，不建议使用\n",
    "        - 比如 _age, _name,理论可以，不推荐，包括但不限于一个下划线开头和两个连续下划线开头\n",
    "    - 大小写敏感\n",
    "        - ForMan 跟 forMan 不同\n",
    "    - 推荐\n",
    "        - 使用具有固定含义的英文单词或者缩写\n",
    "        - 使用驼峰命名法\n",
    "            - 名称以单词自动链接，且每个单词首字母大写\n",
    "                -大驼峰： 每个单词第一个字母均大写\n",
    "                    - python给类命名： MyFirst,IntOne\n",
    "                -小驼峰： 第一个字母小写\n",
    "                    - python给普通变量或者函数命名: myFirst, intOne\n",
    "                -posix写法:多个单词用下划线链接，全部小写\n",
    "                    - my_first int_one\n",
    "    - 保留字和关键字\n",
    "        - 变量命名必须避开\n",
    "        - 查看关键字  \n",
    "            - import keyword  # 引入关键字模块\n",
    "            - print(keyword.kwlist)\n",
    "                 \n",
    "                    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']\n"
     ]
    }
   ],
   "source": [
    "import keyword\n",
    "print(keyword.kwlist)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 变量\n",
    "- v_name = v_value\n",
    "- v1 = v2 = v3 = v_value\n",
    "- v1,v2,v3 = 1,5,7"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "19\n"
     ]
    }
   ],
   "source": [
    "age =19\n",
    "print(age)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "11\n",
      "12\n",
      "13\n"
     ]
    }
   ],
   "source": [
    "age1, age2, age3 = 11,12,13\n",
    "print(age1)\n",
    "print(age2)\n",
    "print(age3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 变量类型\n",
    "- 严格讲 只有一个类型\n",
    "- 标准数据六中\n",
    "    - 数字 Number\n",
    "    - 字符串 str\n",
    "    - 列表 list\n",
    "    - 元祖 tuple\n",
    "    - 字典 Dictionary\n",
    "    - 集合 Set\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Number \n",
    "- 没有大小类型\n",
    "#### 整数\n",
    "- 自然数 ,0 , 负自然数\n",
    "- 整数分进制\n",
    "    - 二进制\n",
    "        - 计算机常用，是计算机唯一理解的数字\n",
    "        - 表示为0b开头的0,1代码        \n",
    "    - 八进制\n",
    "        - 逢八进一\n",
    "        - 以0o开头\n",
    "    - 十进制\n",
    "        - 12,123\n",
    "    - 十六进制\n",
    "        - 逢16进1\n",
    "        - 每四位二进制表示一位十六进制数\n",
    "        - 包含0-9，a-f\n",
    "        - 以0x开头"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "18\n",
      "18\n",
      "66\n",
      "255\n"
     ]
    }
   ],
   "source": [
    "age = 18\n",
    "print(age)\n",
    "age = 0b10010\n",
    "print(age)\n",
    "age = 0o102\n",
    "print(age)\n",
    "age = 0xff\n",
    "print(age)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 浮点数\n",
    "- 可以有条件省略: 0.5 直接写 .5\n",
    "- 科学计数法\n",
    "    - 定义 跟数学定义\n",
    "    - 写法是 用e/E后面跟整数表示10的指数\n",
    "    - 176.23 == 1.7623e2\n",
    "    - 0.876 == 8.76e-1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 复数 complex\n",
    "- 和数学定义一致\n",
    "- 一个由实部和虚部构成的数字\n",
    "- 虚部用j/J表示\n",
    "- 5+3j\n",
    "- 3j\n",
    "- (3j)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 布尔值\n",
    "- 表示真假\n",
    "- 只有两个值, True/False  首字母要大写； True 1， False 0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 字符串\n",
    "- 表示：\n",
    "    - 单引号\n",
    "    - 双引号\n",
    "    - 三引号(三个单引号 或者三个双引号)\n",
    "- 单双引号交错使用\n",
    "- 转义字符\n",
    "- 格式化\n",
    "- 内建函数(后续)\n",
    "### 转义\n",
    "- 使用一个特殊方法表示出一系列不方便写出的内容，比如回车，换行键，退格键\n",
    "- 借助反斜杠字符，一旦字符串中出现反斜杠，后面的一个或多个字符就被转义\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "i love girl\n",
      "let's go\n",
      "c:\\Users\n",
      "I love \r\n",
      " meimei\n",
      "I am liyongyao, i am 18 years old\n"
     ]
    }
   ],
   "source": [
    "s = \"i love girl\"\n",
    "print(s)\n",
    "s = 'let\\'s go'\n",
    "print(s)\n",
    "# 路径\n",
    "s=\"c:\\\\Users\"\n",
    "print(s)\n",
    "# 换行\n",
    "s = \"I love \\r\\n meimei\"\n",
    "print(s)\n",
    "s = \"I am %s, i am %d years old\"\n",
    "print(s%(\"liyongyao\",18))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### format 函数格式化\n",
    "- 使用{}和:代替%, 后面用format 带参数完成"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "I love meimei\n",
      "Yes ,I am 19 year old,I lovecjh, and i am cjh years old\n"
     ]
    }
   ],
   "source": [
    "s = \"I love {}\".format(\"meimei\")\n",
    "print(s)\n",
    "s = \"Yes ,I am {1} year old,I love{0}, and i am {0} years old\".format(\"cjh\",19)\n",
    "print(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
